﻿using Bmz.IM.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace Bmz.IM.Communication
{
    public interface IEngine
    {
        UserVO CurrentUser { get; }
        IPEndPoint CurrentIPEndPoint { get; }
        Dictionary<string, Action<MessageVO>> EventDict { get; set; }
        void Initialize(IPEndPoint localIPEndPoint);
        void Start(UserVO user);
        void SendMessageUdp(MessageVO messageVO);
        void SendMessageTcp(MessageVO messageVO);

    }
}
